{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.211732Z",
     "start_time": "2025-09-04T01:48:11.205497Z"
    }
   },
   "source": "from sklearn.linear_model import LinearRegression",
   "outputs": [],
   "execution_count": 9
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.237608Z",
     "start_time": "2025-09-04T01:48:11.213233Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#1.定义数据\n",
    "#自变量，每周学习时长\n",
    "X = [[5],[8],[10],[12],[15],[3],[7],[9],[14],[6]]\n",
    "#因变量，数学考试成绩\n",
    "Y = [55,65,70,75,85,50,60,72,80,58]"
   ],
   "id": "9bb1ec7c09360ed2",
   "outputs": [],
   "execution_count": 10
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.242420Z",
     "start_time": "2025-09-04T01:48:11.237608Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#2.创建模型，线性回归\n",
    "model = LinearRegression()"
   ],
   "id": "8dd21b1a6853a826",
   "outputs": [],
   "execution_count": 11
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.250349Z",
     "start_time": "2025-09-04T01:48:11.242420Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#3.模型训练\n",
    "model.fit(X,Y)"
   ],
   "id": "fab075bcbc700bd0",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression()"
      ],
      "text/html": [
       "<style>#sk-container-id-2 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-2 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-2 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-2 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-2 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-2 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-2 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-2 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-2 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;LinearRegression<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.5/modules/generated/sklearn.linear_model.LinearRegression.html\">?<span>Documentation for LinearRegression</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>LinearRegression()</pre></div> </div></div></div></div>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 12
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.255334Z",
     "start_time": "2025-09-04T01:48:11.250349Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#4.打印模型参数\n",
    "print(model.coef_)\n",
    "print(model.intercept_)"
   ],
   "id": "cfa3f92e3664319a",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2.87070855]\n",
      "41.45069393718042\n"
     ]
    }
   ],
   "execution_count": 13
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.260691Z",
     "start_time": "2025-09-04T01:48:11.256352Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#5.预测\n",
    "x_new = [[11]]\n",
    "y_new = model.predict(x_new)\n",
    "print(y_new)"
   ],
   "id": "97504eb6ef31a4b9",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[73.02848795]\n"
     ]
    }
   ],
   "execution_count": 14
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.264988Z",
     "start_time": "2025-09-04T01:48:11.260691Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#6.画图\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ],
   "id": "55d690dc24dfb4d7",
   "outputs": [],
   "execution_count": 15
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.271479Z",
     "start_time": "2025-09-04T01:48:11.266476Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x_line = np.arange(0,15,0.1).reshape(-1,1)\n",
    "y_line = model.predict(x_line)"
   ],
   "id": "9881c50e57e00662",
   "outputs": [],
   "execution_count": 16
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T01:48:11.391090Z",
     "start_time": "2025-09-04T01:48:11.271479Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(X,Y)\n",
    "plt.plot(x_line,y_line,color='red')\n",
    "plt.scatter(x_new,y_new,color='green')\n",
    "plt.show()"
   ],
   "id": "912f50cef95bdfde",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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6fTevXt16aWXWjSRZ/34448KCan5oyo0NFROp9OiibwnISFBsbGxNX5+VVRUaPv27QH78+tU8Ni3b582bNigmJgYq0fymOHDh+vrr7+u8fMrPj5ekydP1meffWb1eB4VFNsuEydO1IgRI9S9e3clJSVpzpw5OnbsmB555BGrR/OI1NRUrVixQp988okiIyOr94btdrsiIiIsns69IiMjzziXpWXLloqJiQnYc1wmTJig66+/XtOnT9d9992n7OxsLViwQAsWLLB6NI9ISUnRSy+9pHbt2qljx47atWuXXn/9dY0cOdLq0dzi6NGj+vbbb6ufFxQUKDc3V9HR0WrXrp3Gjx+vF198UVdccYUSEhI0bdo0xcfH66677rJu6CY42+eNi4vTPffco5ycHH366aeqqqqq/vkVHR2tFi1aWDV2o53r77d2uGrevLliY2P1i1/8wtujepfVl9t4y5tvvmm0a9fOaNGihZGUlGRs27bN6pE8RlKdj8WLF1s9mlcE+qW2hmEYa9euNTp16mSEhYUZHTp0MBYsWGD1SB5TUVFhjBs3zmjXrp0RHh5uXH755cYzzzxjVFZWWj2aW3z55Zd1/vs6YsQIwzDMy22nTZtmtG7d2ggLCzNuvvlmIz8/39qhm+Bsn7egoKDen19ffvml1aM3yrn+fmsLlkttbYYRILcJBAAAfiHgz/kAAAC+hfABAAC8ivABAAC8ivABAAC8ivABAAC8ivABAAC8ivABAAC8ivABAAC8ivABAAC8ivABAAC8ivABAAC8ivABAAC86v8DnPGZjbveTjMAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 17
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T06:56:20.142447Z",
     "start_time": "2025-09-04T06:56:20.104314Z"
    }
   },
   "cell_type": "code",
   "source": [
    "model = LinearRegression(fit_intercept=False)\n",
    "model.fit(X,Y)"
   ],
   "id": "43725629fc141cbb",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(fit_intercept=False)"
      ],
      "text/html": [
       "<style>#sk-container-id-3 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-3 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-3 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-3 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-3 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-3 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-3 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-3 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-3 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-3 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-3 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-3 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-3 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-3 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-3 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-3 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-3 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-3 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-3 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-3\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression(fit_intercept=False)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" checked><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;LinearRegression<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.5/modules/generated/sklearn.linear_model.LinearRegression.html\">?<span>Documentation for LinearRegression</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>LinearRegression(fit_intercept=False)</pre></div> </div></div></div></div>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 18
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T06:56:33.404844Z",
     "start_time": "2025-09-04T06:56:33.400502Z"
    }
   },
   "cell_type": "code",
   "source": [
    "print(model.intercept_)\n",
    "print(model.coef_)"
   ],
   "id": "a8b9daa3f291e48b",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0\n",
      "[6.84176534]\n"
     ]
    }
   ],
   "execution_count": 19
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T06:57:27.643351Z",
     "start_time": "2025-09-04T06:57:27.615407Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#预测\n",
    "x_new = [[11]]\n",
    "y_new = model.predict(x_new)\n",
    "print(y_new)"
   ],
   "id": "6d6f77776f2f7ea3",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[75.25941873]\n"
     ]
    }
   ],
   "execution_count": 20
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-04T06:57:38.028548Z",
     "start_time": "2025-09-04T06:57:37.893865Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#画图\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "x_line = np.arange(0, 15, 0.1).reshape(-1, 1)\n",
    "y_line = model.predict(x_line)\n",
    "plt.scatter(X, Y)\n",
    "plt.plot(x_line, y_line, color='red')\n",
    "plt.scatter(x_new, y_new, color='green')\n",
    "plt.show()"
   ],
   "id": "93e1fdff677166b7",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 21
  },
  {
   "metadata": {},
   "cell_type": "code",
   "outputs": [],
   "execution_count": null,
   "source": "",
   "id": "b3fe1476493a3cf0"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
